---
title: "VIM Find Replace"
date: 2022-1-20
categories:
- vim
tags:
---

<div id="content">
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org0b15b9e">使用正则查找，替换正则匹配的部分</a></li>
</ul>
</div>
</div>
<div class="outline-2" id="outline-container-org0b15b9e">
<h2 id="org0b15b9e">使用正则查找，替换正则匹配的部分</h2>
<div class="outline-text-2" id="text-org0b15b9e">
<p>
例如，mongo bson文档，去除里面的函数转换，变成json文件
</p>
<div class="org-src-container">
<pre class="src src-bson">{
	"_id" : NumberLong(1),
	"language_code" : "zh_CN",
	"priority" : 0,
	"name" : "商超百货",
	"labels_count" : 0,
	"deleted" : true
    }
</pre>
</div>
<p>
去除NumberLong()：
</p>
<div class="org-src-container">
<pre class="src src-vim">%s/NumberLong(\(\d\+\))/\1/g
</pre>
</div>
<p>
匹配正则：NumberLong\( (\d+) \)，中间的 (\d+) 是一个组。替换部分使用 \1 代表这个匹配的组，最终留下的是数字1。
将标准正则转换成vim正则加上vim正则的转义字段变成： NumberLong( \(\d\+\) )
</p>
</div>
</div>
</div>
<div class="status" id="postamble">
<p class="date">Date: 2022-1-20</p>
<p class="author">Author: gdme1320</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
